\hypertarget{classGaitScheduler}{}\doxysection{Gait\+Scheduler Class Reference}
\label{classGaitScheduler}\index{GaitScheduler@{GaitScheduler}}


This class to shedule gait, including leg swing and stance-\/swing transition.  




{\ttfamily \#include $<$gait\+\_\+scheduler.\+h$>$}

\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classGaitScheduler_ae80429157cc4a030426a9776a3c087a5}{Gait\+Scheduler}} (double t\+Swing\+In, double dt\+In)
\begin{DoxyCompactList}\small\item\em Construct a new Gait Scheduler object. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classGaitScheduler_abf48e1b2e83d12d487d0af06fc5a8582}\label{classGaitScheduler_abf48e1b2e83d12d487d0af06fc5a8582}} 
void {\bfseries data\+Bus\+Read} (const \mbox{\hyperlink{structDataBus}{Data\+Bus}} \&robot\+State)
\item 
\mbox{\Hypertarget{classGaitScheduler_a588d153104910535743c342cef8910ab}\label{classGaitScheduler_a588d153104910535743c342cef8910ab}} 
void {\bfseries data\+Bus\+Write} (\mbox{\hyperlink{structDataBus}{Data\+Bus}} \&robot\+State)
\item 
void \mbox{\hyperlink{classGaitScheduler_aa23623812735c74e6e97554489599790}{step}} ()
\begin{DoxyCompactList}\small\item\em update the gait \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classGaitScheduler_a81aa9cc7644286cb50f5f7d2c066d5b3}{stop}} ()
\begin{DoxyCompactList}\small\item\em stop the gait \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classGaitScheduler_a3473035ec27c4cdee3d04b1bd156ac0e}\label{classGaitScheduler_a3473035ec27c4cdee3d04b1bd156ac0e}} 
bool \mbox{\hyperlink{classGaitScheduler_a3473035ec27c4cdee3d04b1bd156ac0e}{is\+Ini}} \{false\}
\begin{DoxyCompactList}\small\item\em initialization indicator \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classGaitScheduler_a1f1a221fb6fa50a17a941990cb8a428f}\label{classGaitScheduler_a1f1a221fb6fa50a17a941990cb8a428f}} 
double \mbox{\hyperlink{classGaitScheduler_a1f1a221fb6fa50a17a941990cb8a428f}{phi}} \{0\}
\begin{DoxyCompactList}\small\item\em phase varialbe for gait and swing trajectory generation, must between 0 and 1 \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classGaitScheduler_ae7e444a24e0ed19c0a52b8832220538f}\label{classGaitScheduler_ae7e444a24e0ed19c0a52b8832220538f}} 
double \mbox{\hyperlink{classGaitScheduler_ae7e444a24e0ed19c0a52b8832220538f}{t\+Swing}} \{0.\+4\}
\begin{DoxyCompactList}\small\item\em swing period \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classGaitScheduler_afe24a16f3a4b9e4f5db04056b3cdc349}\label{classGaitScheduler_afe24a16f3a4b9e4f5db04056b3cdc349}} 
double \mbox{\hyperlink{classGaitScheduler_afe24a16f3a4b9e4f5db04056b3cdc349}{dt}} \{0.\+001\}
\begin{DoxyCompactList}\small\item\em contorl frequency \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classGaitScheduler_a91185099fb4d6ad3154c01426cd841dc}\label{classGaitScheduler_a91185099fb4d6ad3154c01426cd841dc}} 
double \mbox{\hyperlink{classGaitScheduler_a91185099fb4d6ad3154c01426cd841dc}{Fz\+Threhold}} \{200\}
\begin{DoxyCompactList}\small\item\em the ground reaction force threhold along z-\/axis used to indicate the foot has fallen to the ground completely \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classGaitScheduler_a23b4fe5d102f13755d2b14950bc13e3b}\label{classGaitScheduler_a23b4fe5d102f13755d2b14950bc13e3b}} 
double \mbox{\hyperlink{classGaitScheduler_a23b4fe5d102f13755d2b14950bc13e3b}{Fz\+\_\+\+L\+\_\+m}} \{0\}
\begin{DoxyCompactList}\small\item\em measured ground reaction force along z-\/axis of left foot \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classGaitScheduler_ab43cec46486e1e5f3cd6e59a6c162ac7}\label{classGaitScheduler_ab43cec46486e1e5f3cd6e59a6c162ac7}} 
double \mbox{\hyperlink{classGaitScheduler_ab43cec46486e1e5f3cd6e59a6c162ac7}{Fz\+\_\+\+R\+\_\+m}} \{0\}
\begin{DoxyCompactList}\small\item\em measured ground reaction force along z-\/axis of right foot \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classGaitScheduler_af10903d6376bdc95bfe49c41ff951017}\label{classGaitScheduler_af10903d6376bdc95bfe49c41ff951017}} 
\mbox{\hyperlink{structDataBus_a0dcb8a4552bb6b37259a61d601cd7d7e}{Data\+Bus\+::\+Leg\+State}} \mbox{\hyperlink{classGaitScheduler_af10903d6376bdc95bfe49c41ff951017}{leg\+State}}
\begin{DoxyCompactList}\small\item\em leg state (swing or stance) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classGaitScheduler_a7593fedd09b2c3897b9a81db2bb0560a}\label{classGaitScheduler_a7593fedd09b2c3897b9a81db2bb0560a}} 
\mbox{\hyperlink{structDataBus_a0dcb8a4552bb6b37259a61d601cd7d7e}{Data\+Bus\+::\+Leg\+State}} \mbox{\hyperlink{classGaitScheduler_a7593fedd09b2c3897b9a81db2bb0560a}{leg\+State\+Next}}
\begin{DoxyCompactList}\small\item\em next leg state \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classGaitScheduler_a614ce3fed948dcc2746f21202437df62}\label{classGaitScheduler_a614ce3fed948dcc2746f21202437df62}} 
Eigen\+::\+Vector\+Xd \mbox{\hyperlink{classGaitScheduler_a614ce3fed948dcc2746f21202437df62}{F\+Lest}}
\begin{DoxyCompactList}\small\item\em estimate of left foot ground reaction force \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classGaitScheduler_abbd1d35129e19e01297f883b69f6cbd3}\label{classGaitScheduler_abbd1d35129e19e01297f883b69f6cbd3}} 
Eigen\+::\+Vector\+Xd \mbox{\hyperlink{classGaitScheduler_abbd1d35129e19e01297f883b69f6cbd3}{F\+Rest}}
\begin{DoxyCompactList}\small\item\em estimate of right foot ground reaction force \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classGaitScheduler_a5c644ded833c2b83911d70265a51a12c}\label{classGaitScheduler_a5c644ded833c2b83911d70265a51a12c}} 
Eigen\+::\+Vector\+Xd \mbox{\hyperlink{classGaitScheduler_a5c644ded833c2b83911d70265a51a12c}{tor\+Joint}}
\begin{DoxyCompactList}\small\item\em last control torque on joint, used to estimate G\+RF \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
This class to shedule gait, including leg swing and stance-\/swing transition. 

This class uses ground reaction force estimation to make transition from stance to swing 

Definition at line 19 of file gait\+\_\+scheduler.\+h.



\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classGaitScheduler_ae80429157cc4a030426a9776a3c087a5}\label{classGaitScheduler_ae80429157cc4a030426a9776a3c087a5}} 
\index{GaitScheduler@{GaitScheduler}!GaitScheduler@{GaitScheduler}}
\index{GaitScheduler@{GaitScheduler}!GaitScheduler@{GaitScheduler}}
\doxysubsubsection{\texorpdfstring{GaitScheduler()}{GaitScheduler()}}
{\footnotesize\ttfamily Gait\+Scheduler\+::\+Gait\+Scheduler (\begin{DoxyParamCaption}\item[{double}]{t\+Swing\+In,  }\item[{double}]{dt\+In }\end{DoxyParamCaption})}



Construct a new Gait Scheduler object. 


\begin{DoxyParams}{Parameters}
{\em t\+Swing\+In} & swing period \\
\hline
{\em dt\+In} & control frequency, also the gait update frequency\\
\hline
\end{DoxyParams}
\begin{DoxyNote}{Note}
no double-\/support here, swing time always equals to stance time 
\end{DoxyNote}


Definition at line 14 of file gait\+\_\+scheduler.\+cpp.



References dt, is\+Ini, leg\+State, phi, and t\+Swing.



\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classGaitScheduler_aa23623812735c74e6e97554489599790}\label{classGaitScheduler_aa23623812735c74e6e97554489599790}} 
\index{GaitScheduler@{GaitScheduler}!step@{step}}
\index{step@{step}!GaitScheduler@{GaitScheduler}}
\doxysubsubsection{\texorpdfstring{step()}{step()}}
{\footnotesize\ttfamily void Gait\+Scheduler\+::step (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



update the gait 



Definition at line 67 of file gait\+\_\+scheduler.\+cpp.



References dt, F\+Lest, F\+Rest, Fz\+Threhold, is\+Ini, leg\+State, leg\+State\+Next, Data\+Bus\+::\+L\+St, phi, tor\+Joint, and t\+Swing.

\mbox{\Hypertarget{classGaitScheduler_a81aa9cc7644286cb50f5f7d2c066d5b3}\label{classGaitScheduler_a81aa9cc7644286cb50f5f7d2c066d5b3}} 
\index{GaitScheduler@{GaitScheduler}!stop@{stop}}
\index{stop@{stop}!GaitScheduler@{GaitScheduler}}
\doxysubsubsection{\texorpdfstring{stop()}{stop()}}
{\footnotesize\ttfamily void Gait\+Scheduler\+::stop (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



stop the gait 



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
gait\+\_\+scheduler.\+h\item 
gait\+\_\+scheduler.\+cpp\end{DoxyCompactItemize}
